package dichotomy.find.peak.element;
/**
 * @Time 2020/1/12
 * @author 王光浩
 * @Need 给定一个数组，找出其中的峰值元素，峰值元素指的是该元素大于相邻的左右两边元素值。
 * @Thinking 使用暴力法。
 *           思路：使用for循环找出任意一个峰值元素。
 *           复杂度分析：时间复杂度O（n），空间复杂度O（1）
 *           改进：由于我们是从头到尾进行遍历的，所以我们只需要将该当前下标元素和下一个下标进行比较，如果当前
 *           下标元素值大于右边相邻的元素值，则直接返回当前下标即可。
 */
public class MyMethodOne {
    public int findPeakElement(int[] nums) {
    	int len=nums.length;
    	if(len==1)return nums[0];
//        if(nums[0]<nums[1])return nums[0];
//        if(nums[len-1]>nums[len-2])return nums[len-1];
//        for(int i=1;i<len-1;i++) {
//        	if(nums[i]>nums[i-1] && nums[i]<nums[i+1])
//        		return nums[i];
//        }
    	for(int i=0;i<len-1;i++) {
    		if(nums[i]>nums[i+1])
    			return i;
    	}
        return len-1;
    }
}
